<?php

namespace JLPay\Models\Ledger\Merchconf;

use JLPay\Models\BaseRequest;

/**
 * 商户分账结算更新请求
 */
class MerchRevSettleUpdateRequest extends BaseRequest
{
    /**
     * API URL
     */
    public const API_URL = '/open/ledger/merch/rev/settle/update';

    protected ?string $orgCode = null;
    protected ?string $mchId = null;
    protected ?string $bankCardNo = null;
    protected ?string $bankCardName = null;
    protected ?string $bankCode = null;
    protected ?string $bankName = null;
    protected ?string $bankBranchCode = null;
    protected ?string $bankBranchName = null;

    /**
     * 设置机构代码
     *
     * @param string $orgCode
     * @return self
     */
    public function setOrgCode(string $orgCode): self
    {
        $this->orgCode = $orgCode;
        return $this;
    }

    /**
     * 设置商户号
     *
     * @param string $mchId
     * @return self
     */
    public function setMchId(string $mchId): self
    {
        $this->mchId = $mchId;
        return $this;
    }

    /**
     * 设置银行卡号
     *
     * @param string $bankCardNo
     * @return self
     */
    public function setBankCardNo(string $bankCardNo): self
    {
        $this->bankCardNo = $bankCardNo;
        return $this;
    }

    /**
     * 设置银行卡姓名
     *
     * @param string $bankCardName
     * @return self
     */
    public function setBankCardName(string $bankCardName): self
    {
        $this->bankCardName = $bankCardName;
        return $this;
    }

    /**
     * 设置银行代码
     *
     * @param string $bankCode
     * @return self
     */
    public function setBankCode(string $bankCode): self
    {
        $this->bankCode = $bankCode;
        return $this;
    }

    /**
     * 设置银行名称
     *
     * @param string $bankName
     * @return self
     */
    public function setBankName(string $bankName): self
    {
        $this->bankName = $bankName;
        return $this;
    }

    /**
     * 设置银行支行代码
     *
     * @param string $bankBranchCode
     * @return self
     */
    public function setBankBranchCode(string $bankBranchCode): self
    {
        $this->bankBranchCode = $bankBranchCode;
        return $this;
    }

    /**
     * 设置银行支行名称
     *
     * @param string $bankBranchName
     * @return self
     */
    public function setBankBranchName(string $bankBranchName): self
    {
        $this->bankBranchName = $bankBranchName;
        return $this;
    }

    /**
     * 获取机构代码
     *
     * @return string|null
     */
    public function getOrgCode(): ?string
    {
        return $this->orgCode;
    }

    /**
     * 获取商户号
     *
     * @return string|null
     */
    public function getMchId(): ?string
    {
        return $this->mchId;
    }

    /**
     * 获取银行卡号
     *
     * @return string|null
     */
    public function getBankCardNo(): ?string
    {
        return $this->bankCardNo;
    }

    /**
     * 获取银行卡姓名
     *
     * @return string|null
     */
    public function getBankCardName(): ?string
    {
        return $this->bankCardName;
    }

    /**
     * 获取银行代码
     *
     * @return string|null
     */
    public function getBankCode(): ?string
    {
        return $this->bankCode;
    }

    /**
     * 获取银行名称
     *
     * @return string|null
     */
    public function getBankName(): ?string
    {
        return $this->bankName;
    }

    /**
     * 获取银行支行代码
     *
     * @return string|null
     */
    public function getBankBranchCode(): ?string
    {
        return $this->bankBranchCode;
    }

    /**
     * 获取银行支行名称
     *
     * @return string|null
     */
    public function getBankBranchName(): ?string
    {
        return $this->bankBranchName;
    }
} 